home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 105 - PROSEL - 3.3.5 S2.B.dsk / INSTALL.PROSEL.bas < prev    next >
BASIC Source File  |  2019-02-17  |  8KB  |  189 lines

  1. 1  GOTO 16
  2. 2  FOR I = 0 TO NF: GOSUB 8: NEXT : RETURN 
  3. 3  PRINT : VTAB V: GOSUB 9: IF T <18  THEN I = F: GOSUB 8: RETURN 
  4. 4  IF F <3  THEN  RETURN 
  5. 5  IF F <11  AND F >4  THEN  RETURN 
  6. 6  IF F >15  AND F <20  THEN  RETURN 
  7. 7 I = F -2 -4 *(F >10) +2 *(F >19)
  8. 8  PRINT : VTAB V(I) +3: HTAB H(I) +6: PRINT S$(I): RETURN 
  9. 9  HTAB 36: PRINT MO$"_"MF$;: POKE 36,40: PRINT MO$"Z"MF$;: RETURN 
  10. 10 T$ = "  " +D$(F):V = V(F) +3
  11. 11  FOR T = 1 TO 39  STEP 2: PRINT : VTAB V: POKE 36,H(F) +2 +T: PRINT T$: GOSUB 3: NEXT 
  12. 12  IF F <16  THEN  RETURN 
  13. 13  FOR T = V TO V(F) +(F <20)  STEP  -1
  14. 14  PRINT : VTAB T: POKE 36,H(F) +42: PRINT  SPC( 15): PRINT 
  15. 15  PRINT : VTAB T -1: POKE 36,H(F) +41: PRINT T$: NEXT : RETURN 
  16. 16  IF  PEEK(176) >30  THEN  STOP 
  17. 17  IF  PEEK(34)  THEN 20
  18. 18  PRINT  CHR$(4)"PR#3": HOME 
  19. 19  GOSUB 189: GOSUB 186: POKE 34,4
  20. 20  PRINT  CHR$(4)"BLOAD/FLOPPY/COMMANDS/COPY,TCMD,A$4000": CALL 16384
  21. 21  LOMEM: 24576:N = 51: DIM DT$(N),DL$(N),DF$(N)
  22. 22 NF = 23: DIM V(NF),H(NF),S$(NF),D$(NF)
  23. 23  HOME :U$ = "______________":L$ = "LLLL":S$ = "SYSTEM":SS$ = "SYSTEM/START":X$ = "XXXXXXXX":Y$ = "YYYYYYYY":UL$ = "UNLOCK":RN$ = "RENAME":DE$ = "DELETE":D$ =  CHR$(4):P$ = "PROSEL"
  24. 24 CF$ = D$ +"COPY/FLOPPY/":CE$ = D$ +"COPY/EXTRAS/":PR$ = " press a key."
  25. 25 DP$ = "/HARD1/"
  26. 26  PRINT : PRINT "Please give the name of the volume that is to receive "P$"."
  27. 27  PRINT "Press RETURN to accept the name shown: "DP$;
  28. 28  FOR I = 1 TO  LEN(DP$): PRINT  CHR$(8);: NEXT 
  29. 29  INPUT "";NW$: IF NW$ < >""  THEN DP$ = NW$
  30. 30  IF  LEFT$(DP$,1) < >"/"  THEN DP$ = "/" +DP$
  31. 31  IF  RIGHT$(DP$,1) < >"/"  THEN DP$ = DP$ +"/"
  32. 32  ONERR  GOTO 141
  33. 33  FOR I = 2 TO  LEN(DP$) -1
  34. 34 CH =  ASC( MID$ (DP$,I,1)): IF CH =  > ASC("a")  THEN DP$ =  LEFT$(DP$,I -1) + CHR$(CH -32) + RIGHT$(DP$, LEN(DP$) -I)
  35. 35  NEXT 
  36. 36  PRINT D$"PREFIX"DP$
  37. 37  POKE 216,0: IF DP$ = "/FLOPPY/"  THEN 142
  38. 38  PRINT : INPUT "Install 40 or 80 column version or Videoterm version? (40/80/VT):";V$
  39. 39  IF V$ < >"40"  AND V$ < >"80"  AND V$ < >"VT"  AND V$ < >"vt"  THEN 38
  40. 40  GOSUB 104
  41. 41  IF UT  THEN  PRINT D$UL$DP$"UTIL": PRINT D$RN$DP$"UTIL,"DP$"UTILXXX"
  42. 42  IF   NOT SY  THEN 51
  43. 43 SY$ = DF$(SY)
  44. 44  PRINT D$"BSAVE"Y$",A$2000,L10"
  45. 45  PRINT D$UL$SY$
  46. 46  IF BA >0  THEN  PRINT D$UL$"BASIC."S$
  47. 47  PRINT D$"COPY"SY$","X$
  48. 48  PRINT D$DE$SY$
  49. 49  PRINT D$DE$Y$
  50. 50  IF SY$ = "BASIC.SYSTEM    "  THEN SY = 0: PRINT D$DE$X$
  51. 51  GOSUB 189
  52. 52  TEXT : PRINT : HOME : GOSUB 159: GOSUB 185: GOSUB 148: GOSUB 2
  53. 53  POKE 48655,0: ONERR  GOTO 89
  54. 54  FOR F = 1 TO NF
  55. 55  IF F = 5  THEN  PRINT D$"CREATE UTIL,TDIR"
  56. 56  IF F = 5  THEN  PRINT D$"PREFIX UTIL"
  57. 57  IF S$(F) = "PRODOS"  THEN  IF PD  THEN 62
  58. 58  IF F = 16  THEN  POKE 49168,0: GOSUB 176
  59. 59  IF F <16  THEN  PRINT CF$S$(F)","D$(F)
  60. 60  IF F >15  THEN  PRINT CE$S$(F)","D$(F)
  61. 61  GOSUB 10
  62. 62  NEXT 
  63. 63  ONERR  GOTO 97
  64. 64  FOR I = 48946 TO 48946 + PEEK(48945)
  65. 65  FOR J = 5 TO 7
  66. 66  IF  INT( PEEK(I)/16) < >J  THEN 71
  67. 67  POKE 8192,76: POKE 8193,0: POKE 8194,J +12 *16
  68. 68  READ V,H: PRINT : VTAB V +3: POKE 36,H: PRINT "BOOT.S";J
  69. 69  PRINT D$"CREATE BOOT.S";J;",TSYS"
  70. 70  PRINT D$"BSAVE BOOT.S";J;",TSYS,A$2000,L3"
  71. 71  NEXT J,I
  72. 72  PRINT D$"PREFIX"DP$
  73. 73  ONERR  GOTO 82
  74. 74  PRINT D$"VERIFY"SS$
  75. 75  PRINT : VTAB 19: POKE 36,41: PRINT MO$L$MF$S$MO$L$MF$"\___"U$
  76. 76  PRINT : POKE 36,58: PRINT "START"
  77. 77 F = 0: GOSUB 10: VTAB 21: POKE 36,58: PRINT "OLD.START"
  78. 78  PRINT D$UL$SS$
  79. 79  PRINT D$RN$SS$","S$"/OLD.START"
  80. 80  ONERR  GOTO 93
  81. 81  PRINT CE$"START,"SS$
  82. 82  POKE 216,0
  83. 83  IF SY  THEN  PRINT D$RN$X$","SY$
  84. 84  IF DL$(SY) = "*"  THEN  PRINT D$"LOCK";SY$
  85. 85  VTAB 23: PRINT  CHR$(139): PRINT  TAB( 20)"Installation complete -"PR$;: GOSUB 88: HOME 
  86. 86  TEXT : PRINT : HOME : PRINT D$"-"P$"."S$
  87. 87  STOP 
  88. 88  POKE 49168,0: WAIT 49152,128: POKE 49168,0: RETURN 
  89. 89 ER =  PEEK(48655): ONERR  GOTO 98
  90. 90  PRINT D$UL$D$(F)
  91. 91  PRINT D$DE$D$(F)
  92. 92  GOTO 98
  93. 93 ER =  PEEK(48655): ONERR  GOTO 98
  94. 94  PRINT D$UL$SS$
  95. 95  PRINT D$DE$SS$
  96. 96  PRINT D$RN$S$"/OLD.START,"SS$
  97. 97 ER =  PEEK(48655)
  98. 98  POKE 216,0: POKE 49168,0: VTAB 23: PRINT : HTAB 18: IF   NOT ER  THEN  PRINT "E";: GOTO 101
  99. 99  POKE 48655,ER: POKE 40876,160: GOSUB 188
  100. 100  CALL 640: PRINT "e";
  101. 101  PRINT "rror occurred -"PR$;: VTAB 10: PRINT : GOSUB 88
  102. 102  PRINT D$"PREFIX"DP$
  103. 103  GOTO 83
  104. 104  POKE 48655,0
  105. 105  ONERR  GOTO 143
  106. 106  PRINT D$"OPEN"DP$",TDIR"
  107. 107  PRINT D$"READ"DP$
  108. 108  INPUT A$,A$,A$
  109. 109 I = 0: ONERR  GOTO 124
  110. 110  INPUT A$: IF   NOT  LEN(A$)  THEN 123
  111. 111 I = I +1:A$ =  LEFT$(A$,20): IF I >N  THEN 143
  112. 112 DT$(I) =  RIGHT$(A$,3):DL$(I) =  LEFT$(A$,1):DF$(I) =  MID$ (A$,2,16)
  113. 113  IF DF$(I) = P$ +".SYSTEM   "  THEN 128
  114. 114  IF DF$(I) = P$ +"          "  THEN 128
  115. 115  IF DF$(I) = X$ +"        "  OR DF$(I) = Y$ +"        "  THEN 133
  116. 116  IF (SY >0)  OR (DT$(I) < >"SYS")  THEN 119
  117. 117  FOR J = 2 TO 16 -7: IF  MID$ (DF$(I),J,7) = "." +S$  THEN SY = I
  118. 118  NEXT 
  119. 119  IF DF$(I) = "BASIC.SYSTEM    "  THEN BA = 1
  120. 120  IF DF$(I) = "PRODOS          "  THEN PD = 1
  121. 121  IF DF$(I) = "UTIL            "  THEN UT = 1
  122. 122  GOTO 110
  123. 123  INPUT A$:SZ =  VAL( RIGHT$(A$,21)): GOTO 125
  124. 124  CALL 62248: ONERR  GOTO 143
  125. 125 DN = I: PRINT D$"CLOSE"DP$
  126. 126  POKE 216,0: IF DN >N -5  THEN 137
  127. 127  RETURN 
  128. 128  GOSUB 125: HOME 
  129. 129  PRINT : PRINT P$" already exists on ";DP$;".  Either delete all "P$" related"
  130. 130  PRINT "files on ";DP$;" and rerun this program, or select the " CHR$(34)"revision" CHR$(34)
  131. 131  PRINT "option."
  132. 132  GOTO 146
  133. 133  GOSUB 125: HOME 
  134. 134  PRINT "This program creates scratch files "X$" and "Y$".  One of these names"
  135. 135  PRINT "is now on your ";DP$;" directory.  Rename it";
  136. 136  GOTO 139
  137. 137  HOME : PRINT "The directory of ";DP$;" is too full for the installation to operate."
  138. 138  PRINT "You must get rid of some files on the main directory";
  139. 139  PRINT " and rerun this program."
  140. 140  GOTO 146
  141. 141  HOME : PRINT "Volume ";DP$;" not found.": GOTO 146
  142. 142  HOME : PRINT "Cannot install on volume named FLOPPY.": GOTO 146
  143. 143  POKE 49044,0: PRINT D$"CLOSE"
  144. 144  GOSUB 188
  145. 145  IF  PEEK(48655)  THEN  CALL 640
  146. 146  PRINT : PRINT  TAB( 28)"INSTALLATION ABORTED"
  147. 147  TEXT : VTAB 22: NEW : END 
  148. 148  PRINT : VTAB 1: PRINT "   ____"U$U$"      ____"U$U$
  149. 149  HTAB 4: INVERSE : PRINT  SPC( 12): NORMAL : PRINT "/FLOPPY/";: INVERSE : PRINT  SPC( 12): POKE 36,41
  150. 150 L =  INT((32 - LEN(DP$))/2): PRINT  SPC( L)
  151. 151  NORMAL : PRINT DP$;: INVERSE : PRINT  SPC( 32 -L - LEN(DP$)): NORMAL : PRINT 
  152. 152  VTAB 2: FOR I = 1 TO 20: PRINT "  "MO$"Z"MF$;: GOSUB 9
  153. 153  POKE 36,73: PRINT MO$"_"MF$: NEXT 
  154. 154  PRINT "   "MO$L$L$L$L$L$L$L$L$MF$"      "MO$L$L$L$L$L$L$L$L$MF$
  155. 155  VTAB 5: POKE 36,41: PRINT U$
  156. 156  VTAB 6: POKE 36,46: PRINT "UTIL     \___"U$
  157. 157  VTAB 14: HTAB 4: PRINT "____"U$U$
  158. 158  HTAB 4: INVERSE : PRINT  SPC( 12): NORMAL : PRINT "/EXTRAS/";: INVERSE : PRINT  SPC( 12): NORMAL : PRINT : RETURN 
  159. 159  RESTORE : FOR I = 0 TO NF: READ V(I),H(I),S$(I)
  160. 160  IF S$(I) < >"BEACH.COMBER"  THEN 163
  161. 161  IF SZ <20000  THEN 163
  162. 162 S$(I) = "BEACH.COMBER.20": IF  PEEK(65535) = 192  THEN S$(I) = "BEACH.COMBER.32"
  163. 163 D$(I) = S$(I): IF S$(I) = P$  THEN S$(I) = P$ +"." +V$
  164. 164  IF S$(I) = "COPY"  THEN  IF  PEEK(65535) = 192  THEN S$(I) = "COPY.GS"
  165. 165  NEXT : RETURN 
  166. 166  DATA 18,0,"START"
  167. 167  DATA 0,15,"PRODOS",1,15,"PROSEL.SYSTEM",0,0,"PROSEL"
  168. 168  DATA 1,0,"BASIC.SYSTEM",5,15,"BACKUP",6,15,"RESTORE"
  169. 169  DATA 7,15,"RECOVER",8,15,"COPY",9,15,"CAT.DOCTOR",10,15,"CD.EXT"
  170. 170  DATA 5,0,"BLOCK.WARDEN",6,0,"PROSEL.ED",7,0,"INFO.DESK",8,0,"FIND.FILE"
  171. 171  DATA 9,0,"UNI.FORMAT",14,15,"BEACH.COMBER",15,15,"MR.FIXIT"
  172. 172  DATA 16,15,"SCAVENGE",17,15,"PASSWORD",14,0,"CACHE"
  173. 173  DATA 15,0,"CACHE.XL",16,0,"PROSEL.CYCLER",17,0,"CYCLER.EDITOR"
  174. 174  DATA 14,43,15,58,15,43
  175. 175  CALL 62248
  176. 176  VTAB 22: PRINT  CHR$(7): PRINT  CHR$(139)
  177. 177  VTAB 22: PRINT : PRINT  TAB( 14)"Please insert the disk /EXTRAS/ and"PR$;
  178. 178  IF  PEEK(49152) >127  THEN 182
  179. 179  FOR I = 1 TO 300: NEXT : VTAB 22: PRINT : HTAB 37: INVERSE : PRINT "/EXTRAS/";
  180. 180  NORMAL : FOR I = 1 TO 300: NEXT 
  181. 181  IF  PEEK(49152) <128  THEN 177
  182. 182  VTAB 5: PRINT : POKE 49168,0
  183. 183  ONERR  GOTO 175
  184. 184  PRINT D$"VERIFY/EXTRAS"
  185. 185  POKE 216,0: VTAB 22: PRINT : PRINT  CHR$(11);
  186. 186  PRINT  TAB( 29)"ProSel installation"
  187. 187  PRINT  TAB( 29)MO$"LLLLLLLLLLLLLLLLLLL"MF$;: VTAB 5: PRINT : RETURN 
  188. 188  POKE 640,173: POKE 641,15: POKE 642,190: POKE 643,76: POKE 644,12: POKE 645,190: RETURN 
  189. 189 MO$ =  CHR$(27) + CHR$(15):MF$ =  CHR$(24) + CHR$(14): RETURN